﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using AcadPos.Entity;
using AcadPos.Data;

namespace AcadPos.Bussiness
{
    public class NGMatricula
    {
        #region Lista Matriculas Aluno
        public DataTable listaMatriculasAluno(Matricula matricula)
        {
            return new DBMatricula().listaMatriculasAluno(matricula);
        }
        #endregion

        #region Insere 1ª Financeiro
        public bool inserir1ParcelaFinanceiro(Financeiro financeiro)
        {
            return new DBMatricula().inserir1ParcelaFinanceiro(financeiro);
        }
        #endregion

        #region Valida Pagamento
        public bool validarExistenciaPagamento(Financeiro financeiro)
        {
            return new DBMatricula().validarExistenciaPagamento(financeiro);
        }
        #endregion

        #region Valida Existencia de Notas
        public bool validarExistenciaNotas(Matricula matricula)
        {
            return new DBMatricula().validarExistenciaNotas(matricula);
        }
        #endregion

        #region EXCLUIR
        public bool excluir(Matricula matricula)
        {
            return new DBMatricula().excluir(matricula);
        }
        #endregion

        #region Inserir Situação Matrícula
        public bool inserirSituacaoMatricula(Matricula matricula)
        {
            return new DBMatricula().inserirSituacaoMatricula(matricula);
        }
        #endregion

        #region Excluir Situação Matrícula
        public bool excluirSituacaoMatricula(Matricula matricula)
        {
            return new DBMatricula().excluirSituacaoMatricula(matricula);
        }
        #endregion

        #region Lista Situação Matrícula
        public DataTable listaSituacaoMatricula(Matricula matricula)
        {
            return new DBMatricula().listaSituacaoMatricula(matricula);
        }
        #endregion

        #region Lista Financeiro Matrícula
        public DataTable listaFinanceiroMatricula(Matricula matricula)
        {
            return new DBMatricula().listaFinanceiroMatricula(matricula);
        }
        #endregion

        #region Get Financeiro Dependência
        public DataTable getFichaFinanceiraPendencia(string pNossoNumero)
        {
            return new DBMatricula().getFichaFinanceiraPendencia(pNossoNumero);
        }
        #endregion

        #region Get Ficha Financeira
        public DataTable getFichaFinanceira(string pNossoNumero)
        {
            return new DBMatricula().getFichaFinanceira(pNossoNumero);
        }
        #endregion

        #region Obtem os dados financeiro da parcela referente a matrícula
        public DataTable obterDadosFinanceiroMatricula(int pNossoNumero)
        {
            return new DBMatricula().obterDadosFinanceiroMatricula(pNossoNumero);
        }
        #endregion

        #region Gera Parcelas Restantes
        public bool geraParcelasRestantes(Matricula matricula)
        {
            return new DBMatricula().geraParcelasRestantes(matricula);
        }
        #endregion

        #region Lista Disciplinas Matriculadas Aluno
        public DataTable listaDisciplinasMatriculadasPorAluno(Matricula matricula)
        {
            return new DBMatricula().listaDisciplinasMatriculadasPorAluno(matricula);
        }
        #endregion

        #region Insere Justificativa Faltas
        public bool insereJustificativaFalta(Matricula matricula)
        {
            return new DBMatricula().insereJustificativaFalta(matricula);
        }
        #endregion

        #region Lista Disciplinas Matricula Pendente por Equivalentes
        public DataTable listaDiscMatriculaPendente(Disciplina disciplina, int idPolo, int matriculaAluno)
        {
            return new DBMatricula().listaDiscMatriculaPendente(disciplina, idPolo, matriculaAluno);
        }
        #endregion

        #region Insere a primeira parcela do financeiro de pendencia
        public bool insere1FinanceiroPendencia(Financeiro financeiro)
        {
            return new DBMatricula().insere1FinanceiroPendencia(financeiro);
        }
        #endregion

        #region Lista Disciplinas Matriculadas Aluno Pendentes
        public DataTable listaDisciplinasMatriculadasPorAlunoPendentes(Matricula matricula)
        {
            return new DBMatricula().listaDisciplinasMatriculadasPorAlunoPendentes(matricula);
        }
        #endregion

        #region Relatório Histórico
        public DataTable relatorioHistorico(Matricula matricula)
        {
            return new DBMatricula().relatorioHistorico(matricula);
        }
        #endregion

        #region Atualiza Financeiro
        public bool atualizarFinanceiro(Financeiro financeiro)
        {
            return new DBMatricula().atualizarFinanceiro(financeiro);
        }
        #endregion

        #region Retorna Limite Qtd Exclusao Parcelas
        public int retornaLimiteExclusaoParcelas(Matricula matricula)
        {
            return new DBMatricula().retornaLimiteExclusaoParcelas(matricula);
        }
        #endregion

        #region Exclui parcela financeiro
        public bool excluirParcelaFinanceiro(Financeiro financeiro)
        {
            return new DBMatricula().excluirParcelaFinanceiro(financeiro);
        }
        #endregion

        #region Gera Parcelas Restantes Turma
        public bool geraParcelasRestantesTurma(Matricula matricula)
        {
            return new DBMatricula().geraParcelasRestantesTurma(matricula);
        }
        #endregion

        #region retorna média da instituição
        public static decimal retornaMedia()
        {
            return new DBMatricula().retornaMedia();
        }
        #endregion

        #region Get Valor Imposto de Renda
        public double getValorImpostoRenda(int pMatricula, int pAno)
        {
            return new DBMatricula().getValorImpostoRenda(pMatricula, pAno);
        }
        #endregion

        #region Relatorio Pre-Matricula
        public DataTable relatorioPreMatricula(Curso curso, DateTime dtInicio, DateTime dtFim)
        {
            return new DBMatricula().relatorioPreMatricula(curso, dtInicio, dtFim);
        }
        #endregion	    

        #region Get Solicitações Certificado
        public DataTable getSolicitacoesCertificado(int pMatricula)
        {
            return new DBMatricula().getSolicitacoesCertificado(pMatricula);
        }
        #endregion

        #region Solicitar Certificado
        public bool solicitarCertificado(int pMatricula, DateTime dataConclusaoCurso, string tituloTCC, int idProfissional, DateTime dataImpresso, DateTime dataPronto, DateTime dataEntregue)
        {
            return new DBMatricula().solicitarCertificado(pMatricula, dataConclusaoCurso, tituloTCC, idProfissional, dataImpresso, dataPronto, dataEntregue);
        }
        #endregion

        #region Verifica se aluno é inadimplente
        public bool isInadimplente(int pMatricula)
        {
            return new DBMatricula().isInadimplente(pMatricula);
        }
        #endregion    }
    }
}
